#pragma once

#include "ArmyData.h"
#include "IArmyState.h"
#include "GunParameters.h"

#define _RED_GUN_FR 5

class RedGunState : public IArmyState {
protected:
	ArmyData* _armyData;
	int _currentStateIndex, _counter, _currentEffectIndex, _inRangeCounter, _outRangeCounter;
	double _tempData;
	bool _isDisable;


	/*
	Check current targetRect to check what state gun is, by distance of gun and target:
	State: Up, Down, Left, Right, HalfUp, HalfDown
	*/
	void _updateGunState() {


	}
public:

	RedGunState() {}

	RedGunState(ArmyData* data) ;

	virtual void initSprites() ;

	virtual void updateIsInRange() ;

	virtual void updateIsOutRange() ;
	virtual void update(long timetick) ;
	virtual void updateCurrentSprite() ;

	virtual void setCurrentIndex(int index);

	virtual void draw(long timetick) ;
};